Verification Support for Object Database Design
نویسنده
چکیده
boolean Element::isConnectedTo(Element n); An implementation, with the same signature (i.e., name and input/output types), should be defined for all concrete classes that inherit from Element, namely for the classes ANode, CNode and Link. We define different implementations for Link and Node (i.e., for both ANode and CNode). Here is the implementation for the abstract class Node: boolean Node::isConnectedTo(Element n) { return (n in incomingLinks) or (n in outgoingLinks) } 3.1. The object definition language: OASIS-ODL 21 The implementation for Link is very different, although the signature should not change. Here is the code for Link: boolean Link::isConnectedTo(Element n) { return (from == n) or (to == n) } The isConnectedTo method can be invoked for any object of type Element. In this case, the actual run-time type of the receiver object determines which implementation of the method is used. This mechanism is called late binding. For example, in the definition of method removeElement, the method isConnectedTo is applied to each object in the collection of elements. Depending on the actual run-time type of the Element at hand (i.e., ANode, CNode, or Link), the right implementation of isConnectedTo is applied. Methods such as the isConnectedTo method above are called retrieval methods. Retrieval methods are methods that do not update any objects. The body of a retrieval methods consists of only a single return statement, where the return value is specified by an OQL expression. These expressions are side-effect free (see Section 3.2). Retrieval methods can be invoked in queries (see Section 3.2), methods that perform updates cannot. An extended class may add new methods, or it may override some of the methods inherited from one of its superclasses. A method defined in a superclass is redefined in a subclass by defining a method with the same name and the same number of parameters and parameter/return types as specified in the superclass. Again, late binding determines which implementation should actually be used. In Java it is also possible to hide some of the attributes from a superclass. Hiding an attribute means that if we declare an attribute in a class and that attribute has the same name as another attribute in one of the inherited superclasses, then the inherited attribute is hidden and can only be accessed using the keyword super, instead of this. In OASIS, this feature has not been taken into account.
منابع مشابه
Safety Verification of Real Time Systems Serving Periodic Devices
In real-time systems response to a request from a controlled object must be correct and timely. Any late response to a request from such a device might lead to a catastrophy. The possibility of a task overrun, i.e., missing the deadline for completing a requested task, must be checked and removed during the design of such systems. Safe design of real-time systems running periodic tasks under th...
متن کاملA Trust Based Probabilistic Method for Efficient Correctness Verification in Database Outsourcing
Correctness verification of query results is a significant challenge in database outsourcing. Most of the proposed approaches impose high overhead, which makes them impractical in real scenarios. Probabilistic approaches are proposed in order to reduce the computation overhead pertaining to the verification process. In this paper, we use the notion of trust as the basis of our probabilistic app...
متن کاملDesign Modification of Rogowski Coil for Current Measurement in Low Frequency
The principle object of this paper is to offer a modified design of Rogowski coil based on its frequency response. The improvement of the integrator circuit for nullifying the phase difference between the waveforms of the measured-current and the corresponding terminal voltage is a further object of this investigation. This paper addresses an accurate, yet more efficient measuring and protect...
متن کاملObject Recognition based on Local Steering Kernel and SVM
The proposed method is to recognize objects based on application of Local Steering Kernels (LSK) as Descriptors to the image patches. In order to represent the local properties of the images, patch is to be extracted where the variations occur in an image. To find the interest point, Wavelet based Salient Point detector is used. Local Steering Kernel is then applied to the resultant pixels, in ...
متن کاملSupporting Fine-grained Data Lineage in a Database Visualization Environment
The lineage of a datum records its processing history. Because such information can be used to trace the source of anomalies and errors in processed data sets, it is valuable to users for a variety of applications including investigation of anomalies and debugging. Traditional data lineage approaches rely on metadata. However, metadata does not scale well to fine-grained lineage, especially in ...
متن کاملAn Engineering Approach to Atomic Transaction Verification: Use of a Simple Object Model to Achieve Semantics-based reasoning at Compile-time
In this paper, we take an engineering approach to atomic transaction verification. We discuss the design and implementation of a verification tool that can reason about the semantics of atomic database operations. To bridge the gap between language design and automated reasoning, we make use of a simple model of objects that imitates the type-tagged memory structure of an implementation. This s...
متن کامل